home *** CD-ROM | disk | FTP | other *** search
/ Windows News 2005 November / WNnov2005.iso / Windows / Equipement / hMailServer / hMailServer-4.1-Build-136.exe / {app} / DBScripts / CreateTablesMYSQL.sql < prev    next >
Text File  |  2005-07-17  |  16KB  |  372 lines

  1. drop table if exists hm_accounts;
  2. drop table if exists hm_aliases;
  3. drop table if exists hm_domains;
  4. drop table if exists hm_domain_aliases;
  5. drop table if exists hm_messages;
  6. drop table if exists hm_dbversion;
  7. drop table if exists hm_serverlog;
  8. drop table if exists hm_distributionlists;
  9. drop table if exists hm_distributionlistsrecipients;
  10. drop table if exists hm_messagerecipients;
  11. drop table if exists hm_routes;
  12. drop table if exists routeaddresses;
  13. drop table if exists hm_securityranges;
  14. drop table if exists hm_deliverylog;
  15. drop table if exists hm_deliverylog_recipients;
  16. drop table if exists hm_dnsbl;
  17. drop table if exists hm_fetchaccounts;
  18. drop table if exists hm_fetchaccounts_uids;
  19. drop table if exists hm_rules;
  20. drop table if exists hm_rule_criterias;
  21. drop table if exists hm_rule_actions;
  22. drop table if exists hm_iphomes;
  23.  
  24. create table hm_accounts 
  25. (
  26.     accountid int auto_increment not null, primary key(`accountid`), unique(`accountid`),
  27.     accountdomainid int not null ,
  28.     accountadminlevel tinyint not null ,
  29.     accountaddress varchar (255) not null, unique(`accountaddress`),
  30.     accountpassword varchar (255) not null ,
  31.     accountactive tinyint not null,
  32.     accountisad tinyint not null, 
  33.     accountaddomain varchar (255) not null ,
  34.     accountadusername varchar (255) not null,
  35.     accountmaxsize int not null,
  36.     accountvacationmessageon tinyint not null,
  37.     accountvacationmessage text not null,
  38.     accountvacationsubject varchar (200) not null,
  39.     accountpwencryption tinyint not null
  40.     
  41. );
  42.  
  43. CREATE INDEX idx_hm_accounts ON hm_accounts (accountaddress);
  44.  
  45. create table hm_aliases 
  46. (
  47.     aliasid int auto_increment not null, primary key(`aliasid`), unique(`aliasid`),
  48.     aliasdomainid int not null ,
  49.     aliasname varchar (255) not null, unique(`aliasname`),
  50.     aliasvalue varchar (255) not null ,
  51.     aliasactive tinyint not null,
  52.     aliastype tinyint not null
  53. );
  54.  
  55. CREATE INDEX idx_hm_aliases ON hm_aliases (aliasdomainid, aliasname);
  56.  
  57. create table hm_domains 
  58. (
  59.     domainid int auto_increment not null, primary key(`domainid`), unique(`domainid`),
  60.     domainname varchar (80) not null, unique(`domainname`),
  61.     domainactive tinyint not null,
  62.     domainpostmaster varchar (80) not null,
  63.     domainmaxsize integer not null,
  64.     domainaddomain varchar(255) not null,
  65.     domainmaxmessagesize integer not null
  66. );
  67.  
  68. CREATE INDEX idx_hm_domains ON hm_domains (domainname);
  69.  
  70. create table hm_domain_aliases
  71. (
  72.     daid int auto_increment not null, primary key(`daid`), unique(`daid`),
  73.     dadomainid int not null ,
  74.     daalias varchar(255) not null
  75. );
  76.  
  77. create table hm_messages 
  78. (
  79.     messageid bigint auto_increment not null, primary key(`messageid`), unique(`messageid`),
  80.     messageaccountid int not null ,
  81.     messagefolderid integer not null DEFAULT 0,
  82.     messagefilename varchar (255) not null ,
  83.     messagetype tinyint not null ,
  84.     messagefrom varchar (100) not null ,
  85.     messagerecipients text not null ,
  86.     messagesize int not null,
  87.     messagecurnooftries int not null,
  88.     messagenexttrytime datetime not null,
  89.     messageflagseen tinyint not null,
  90.     messageflagdeleted tinyint not null,
  91.     messageflagrecent tinyint not null,
  92.     messageflaganswered tinyint not null,
  93.     messageflagflagged tinyint not null,
  94.     messageflagdraft tinyint not null,
  95.     messagerecipientsparsed tinyint not null,
  96.     messagecreatetime datetime not null,
  97.     messagelocked tinyint not null
  98. );
  99.  
  100. CREATE INDEX idx_hm_messages ON hm_messages (messageaccountid, messagefolderid);
  101.  
  102. create table hm_settings 
  103. (
  104.     settingid int auto_increment not null, primary key(`settingid`), unique(`settingid`),
  105.     settingname varchar (30) not null, unique(`settingname`),
  106.     settingstring varchar (255) not null ,
  107.     settinginteger int not null
  108. );
  109.  
  110. create table hm_dbversion 
  111. (
  112.     value int not null
  113. );
  114.  
  115. create table hm_serverlog 
  116. (
  117.     logid int auto_increment not null, primary key(logid), unique(logid),
  118.     logprocessid int not null,
  119.     logthreadid int not null,        
  120.     logsource tinyint not null,
  121.     logtime datetime not null,
  122.     logremotehost varchar(15) not null,
  123.     logtext text not null
  124. );
  125.  
  126. create table hm_distributionlists 
  127. (
  128.     distributionlistid int auto_increment not null, primary key(distributionlistid), unique(distributionlistid),
  129.     distributionlistdomainid int not null,
  130.     distributionlistaddress varchar(255) not null,unique(`distributionlistaddress`),
  131.     distributionlistenabled tinyint not null,
  132.    distributionlistrequireauth tinyint not null,
  133.     distributionlistrequireaddress varchar(255) not null
  134. );
  135.  
  136. CREATE INDEX idx_hm_distributionlists ON hm_distributionlists (distributionlistdomainid);
  137.  
  138. create table hm_distributionlistsrecipients
  139. (
  140.     distributionlistrecipientid int auto_increment not null, primary key(distributionlistrecipientid), unique(distributionlistrecipientid),
  141.     distributionlistrecipientlistid int not null,
  142.     distributionlistrecipientaddress varchar(255)    
  143. );
  144.  
  145. CREATE INDEX idx_hm_distributionlistsrecipients ON hm_distributionlistsrecipients (distributionlistrecipientlistid);
  146.  
  147. create table hm_messagerecipients
  148. (
  149.     recipientid bigint auto_increment not null, primary key(recipientid), unique(recipientid),
  150.      recipientmessageid bigint not null,
  151.     recipientaddress varchar(255) not null,
  152.     recipientislocal tinyint not null,
  153.     recipientisenabled tinyint not null,
  154.     recipientisexisting tinyint not null,
  155.     recipientlocalaccountid int not null    
  156. );
  157.  
  158. CREATE INDEX idx_hm_messagerecipients ON hm_messagerecipients (recipientmessageid);
  159.  
  160. create table hm_imapfolders 
  161. (
  162.   folderid int NOT NULL auto_increment, primary key(folderid), unique(folderid),
  163.   folderaccountid int unsigned NOT NULL,
  164.   folderparentid int NOT NULL,
  165.   foldername varchar(255) NOT NULL,
  166.   folderissubscribed tinyint unsigned NOT NULL
  167. );
  168.  
  169. CREATE INDEX idx_hm_imapfolders ON hm_imapfolders (folderaccountid);
  170.  
  171. create table hm_routes
  172. (
  173.   routeid int NOT NULL auto_increment, primary key(routeid), unique(routeid),
  174.   routedomainname varchar(255) NOT NULL, unique(`routedomainname`),
  175.   routetargetsmthost varchar(255) NOT NULL,
  176.   routetargetsmtport int NOT NULL,
  177.   routenooftries int NOT NULL,
  178.   routeminutesbetweentry int NOT NULL,
  179.   routealladdresses tinyint unsigned NOT NULL,
  180.   routeuseauthentication tinyint NOT NULL,
  181.   routeauthenticationusername varchar(255) NOT NULL,
  182.   routeauthenticationpassword varchar(255) NOT NULL,
  183.   routetreatsecurityaslocal tinyint NOT NULL
  184. );
  185.  
  186. create table hm_routeaddresses
  187. (
  188.   routeaddressid mediumint(9) NOT NULL auto_increment, primary key(routeaddressid), unique(routeaddressid),
  189.   routeaddressrouteid int NOT NULL,
  190.   routeaddressaddress varchar(255) NOT NULL
  191. );
  192.  
  193. create table hm_securityranges
  194. (
  195.     rangeid int auto_increment not null, primary key(rangeid), unique(rangeid),
  196.    rangepriorityid int not null,
  197.     rangelowerip bigint unsigned not null,
  198.     rangeupperip bigint unsigned not null,
  199.     rangeoptions int not null,
  200.     rangename varchar (100) not null, unique(`rangename`)
  201. );
  202.  
  203.  
  204. insert into hm_securityranges (rangepriorityid, rangelowerip, rangeupperip, rangeoptions, rangename) values (10, 0, 4294967295, 491, 'Internet');
  205. insert into hm_securityranges (rangepriorityid, rangelowerip, rangeupperip, rangeoptions, rangename) values (15, 2130706433, 2130706433, 459, 'My computer');
  206.  
  207. create table hm_deliverylog
  208. (
  209.     deliveryid bigint auto_increment not null, primary key(deliveryid), unique(deliveryid),
  210.     deliveryfrom varchar(255) not null,
  211.       deliveryfilename varchar(255) not null,
  212.    deliverytime datetime not null,
  213.     deliverysubject varchar(255) not null,
  214.     deliverybody text not null
  215. );
  216.  
  217. create table hm_deliverylog_recipients
  218. (
  219.     deliveryrecipientid int auto_increment not null, primary key(deliveryrecipientid), unique(deliveryrecipientid),
  220.    deliveryid  int not null,
  221.     deliveryrecipientaddress varchar(255) not null
  222. );
  223.  
  224. create table hm_dnsbl
  225. (
  226.     sblid int auto_increment not null, primary key(sblid), unique(sblid),
  227.     sblactive tinyint not null,
  228.     sbldnshost varchar(255) not null,
  229.     sblresult varchar(255) not null,
  230.     sblrejectmessage varchar(255) not null
  231. );
  232.  
  233. create table hm_fetchaccounts
  234. (    
  235.     faid int auto_increment not null, primary key(`faid`), unique(`faid`),
  236.     faactive tinyint not null,
  237.     faaccountid int not null,
  238.     faaccountname varchar (255) not null,
  239.     faserveraddress varchar (255) not null,
  240.     faserverport int not null,
  241.     faservertype tinyint not null,
  242.     fausername varchar (255) not null,
  243.     fapassword varchar (255) not null,
  244.     faminutes int not null,
  245.     fanexttry datetime not null,
  246.     fadaystokeep int not null,
  247.     falocked tinyint not null
  248. );
  249.  
  250. create table hm_fetchaccounts_uids
  251. (
  252.     uidid int auto_increment not null, primary key(`uidid`), unique(`uidid`),
  253.     uidfaid int not null,
  254.     uidvalue varchar(255) not null,
  255.     uidtime datetime not null
  256. );
  257.  
  258. CREATE INDEX idx_hm_fetchaccounts_uids ON hm_fetchaccounts_uids (uidfaid);
  259.  
  260. create table hm_rules
  261. (
  262.     ruleid int auto_increment not null, primary key(`ruleid`), unique(`ruleid`),
  263.     ruleaccountid int not null,
  264.     rulename varchar(100) not null,
  265.     ruleactive tinyint not null,
  266.     ruleuseand tinyint not null,
  267.     rulesortorder int not null
  268. );
  269.  
  270. CREATE INDEX idx_rules ON hm_rules (ruleaccountid);
  271.  
  272. create table hm_rule_criterias
  273. (
  274.     criteriaid int auto_increment not null, primary key(`criteriaid`), unique(`criteriaid`),
  275.     criteriaruleid int not null,
  276.     criteriausepredefined tinyint not null,
  277.     criteriapredefinedfield tinyint not null,
  278.     criteriaheadername varchar(255) not null,
  279.     criteriamatchtype tinyint not null,
  280.     criteriamatchvalue varchar(255) not null
  281.     
  282. );
  283.  
  284. CREATE INDEX idx_rules_criterias ON hm_rule_criterias (criteriaruleid);
  285.  
  286. create table hm_rule_actions
  287. (
  288.     actionid int auto_increment not null, primary key(`actionid`), unique(`actionid`),
  289.     actionruleid int not null,
  290.     actiontype tinyint not null,
  291.     actionimapfolder varchar(255) not null,
  292.     actionsubject varchar(255) not null,
  293.     actionfromname varchar(255) not null,
  294.     actionfromaddress varchar(255) not null,
  295.     actionto varchar(255) not null,
  296.     actionbody text not null,
  297.     actionfilename varchar(255) not null,
  298.     actionsortorder int not null
  299. );
  300.  
  301. CREATE INDEX idx_rules_actions ON hm_rule_actions (actionruleid);
  302.  
  303. create table hm_adsynchronization
  304. (
  305.     synchid int auto_increment not null, primary key(`synchid`), unique(`synchid`),
  306.     synchaccountid int not null,
  307.     synchguid varchar(50) not null
  308. );
  309.  
  310. create table hm_iphomes
  311. (
  312.     iphomeid int auto_increment not null, primary key(`iphomeid`), unique(`iphomeid`),
  313.     iphomeaddress bigint unsigned not null
  314. );
  315.  
  316. insert into hm_dnsbl (sblactive, sbldnshost, sblresult, sblrejectmessage) values (0, 'sbl-xbl.spamhaus.org','127.0.0.*', 'Rejected by Spamhaus');
  317. insert into hm_dnsbl (sblactive, sbldnshost, sblresult, sblrejectmessage) values (0, 'relays.ordb.org','127.0.0.*', 'Rejected by ORDB');
  318. insert into hm_dnsbl (sblactive, sbldnshost, sblresult, sblrejectmessage) values (0, 'bl.spamcop.net', '127.0.0.*','Rejected by SpamCop');
  319.  
  320. insert into hm_settings (settingname, settingstring, settinginteger) values ('smtpport', '', 25);
  321. insert into hm_settings (settingname, settingstring, settinginteger) values ('pop3port', '', 110);
  322. insert into hm_settings (settingname, settingstring, settinginteger) values ('maxpop3connections', '', 0);
  323. insert into hm_settings (settingname, settingstring, settinginteger) values ('maxsmtpconnections', '', 0);
  324. insert into hm_settings (settingname, settingstring, settinginteger) values ('mirroremailaddress', '', 0);
  325. insert into hm_settings (settingname, settingstring, settinginteger) values ('relaymode', '', 2);
  326. insert into hm_settings (settingname, settingstring, settinginteger) values ('authallowplaintext', '', 0);
  327. insert into hm_settings (settingname, settingstring, settinginteger) values ('allowmailfromnull', '', 1);
  328. insert into hm_settings (settingname, settingstring, settinginteger) values ('logging', '', 0);
  329. insert into hm_settings (settingname, settingstring, settinginteger) values ('logdevice', '', 0);
  330. insert into hm_settings (settingname, settingstring, settinginteger) values ('tarpitdelay', '', 0);
  331. insert into hm_settings (settingname, settingstring, settinginteger) values ('tarpitcount', '', 0);
  332. insert into hm_settings (settingname, settingstring, settinginteger) values ('smtpnoofretries', '', 4);
  333. insert into hm_settings (settingname, settingstring, settinginteger) values ('smtpminutesbetweenretries', '', 60);
  334. insert into hm_settings (settingname, settingstring, settinginteger) values ('protocolimap', '', 1);
  335. insert into hm_settings (settingname, settingstring, settinginteger) values ('protocolsmtp', '', 1);
  336. insert into hm_settings (settingname, settingstring, settinginteger) values ('protocolpop3', '', 1);
  337. insert into hm_settings (settingname, settingstring, settinginteger) values ('welcomeimap', '', '');
  338. insert into hm_settings (settingname, settingstring, settinginteger) values ('welcomepop3', '', '');
  339. insert into hm_settings (settingname, settingstring, settinginteger) values ('welcomesmtp', '', '');
  340. insert into hm_settings (settingname, settingstring, settinginteger) values ('smtprelayer', '', '');
  341. insert into hm_settings (settingname, settingstring, settinginteger) values ('imapport', '', 143);
  342. insert into hm_settings (settingname, settingstring, settinginteger) values ('maxdelivertythreads', '', 3);
  343. insert into hm_settings (settingname, settingstring, settinginteger) values ('logformat', '', 0);
  344. insert into hm_settings (settingname, settingstring, settinginteger) values ('avclamwinenable', '', 0);
  345. insert into hm_settings (settingname, settingstring, settinginteger) values ('avclamwinexec', '', 0);
  346. insert into hm_settings (settingname, settingstring, settinginteger) values ('avclamwindb', '', 0);
  347. insert into hm_settings (settingname, settingstring, settinginteger) values ('avnotifysender', '', 0);
  348. insert into hm_settings (settingname, settingstring, settinginteger) values ('avnotifyreceiver', '', 0);
  349. insert into hm_settings (settingname, settingstring, settinginteger) values ('avaction', '', 0);
  350. insert into hm_settings (settingname, settingstring, settinginteger) values ('sendstatistics', '', 0);
  351. insert into hm_settings (settingname, settingstring, settinginteger) values ('hostname', '', 0);
  352. insert into hm_settings (settingname, settingstring, settinginteger) values ('smtprelayerusername', '', 0);
  353. insert into hm_settings (settingname, settingstring, settinginteger) values ('smtprelayerpassword', '', 0);
  354. insert into hm_settings (settingname, settingstring, settinginteger) values ('usesmtprelayerauthentication', '', 0);
  355. insert into hm_settings (settingname, settingstring, settinginteger) values ('smtprelayerport', '', 25);
  356. insert into hm_settings (settingname, settingstring, settinginteger) values ('usedeliverylog', '', 0);
  357. insert into hm_settings (settingname, settingstring, settinginteger) values ('usecustomvirusscanner', '', 0);
  358. insert into hm_settings (settingname, settingstring, settinginteger) values ('customvirusscannerexecutable', '', 0);
  359. insert into hm_settings (settingname, settingstring, settinginteger) values ('customviursscannerreturnvalue', '', 0);
  360. insert into hm_settings (settingname, settingstring, settinginteger) values ('usespf', '', 0);
  361. insert into hm_settings (settingname, settingstring, settinginteger) values ('usemxchecks', '', 0);
  362. insert into hm_settings (settingname, settingstring, settinginteger) values ('usescriptserver', '', 0);
  363. insert into hm_settings (settingname, settingstring, settinginteger) values ('scriptlanguage', 'VBScript', 0);
  364. insert into hm_settings (settingname, settingstring, settinginteger) values ('maxmessagesize', '', 0);
  365. insert into hm_settings (settingname, settingstring, settinginteger) values ('listenonalladdresses', '', 1);
  366. insert into hm_settings (settingname, settingstring, settinginteger) values ('usecache', '', 0);
  367. insert into hm_settings (settingname, settingstring, settinginteger) values ('domaincachettl', '', 60);
  368.  
  369. insert into hm_dbversion values (4100);
  370.  
  371.  
  372.